package top.raoqq.sky.service;

import top.raoqq.sky.dto.CaptchaDTO;
import top.raoqq.sky.dto.MenuDTO;
import top.raoqq.sky.entity.sql.Menu;

import java.util.List;

/**
 * @author 饶奇奇
 * @date 2023/8/4
 */
public interface CommonService {
    /**
     * 生成一个验证码
     * @return 验证码对象包含了验证码的缓存key,验证码图片,验证码的值，验证码是否开启
     */
    CaptchaDTO genCaptcha();

    /**
     * 校验验证码是否正确
     * @param captchaKey 验证码缓存键
     * @param code 验证码
     */
    void validateCaptcha(String captchaKey, String code);

    List<MenuDTO> getRoutes(String username);

    List<MenuDTO> buildMenuTree(List<Menu> menuList);
}
